package thread;

/**
 * Thread:线程
 *
 * 多线程:多个线程执行流程"同时"执行
 *
 * 第一种创建线程的方式
 *
 */
public class ThreadDemo1 {
    public static void main(String[] args) {
        Thread t1 = new MyThread1();
        Thread t2 = new MyThread2();

        t1.start();
        t2.start();
    }
}

/**
 * 这种创建方式的有点：
 * 结构简单，适合匿名内部类方式创建
 *
 * 缺点：需要继承Thread
 * 1：由于Java是单继承的，这导致如果我们继承了Thread就无法再继承其他类去复用方法了
 * 2：重写run方法，将线程要执行的任务定义在线程中，这导致线程与任务是紧耦合的
 */
class MyThread1 extends Thread{  //需要继承Thread

    public void run(){  //重写run方法，run方法是线程要执行的代码
        for (int i = 0; i < 1000; i++) {
            System.out.println("你是谁啊");
        }
    }
}
class MyThread2 extends Thread{
    public void run(){
        for (int i=0;i<1000;i++){
            System.out.println("开门，查水表的！");
        }
    }
}
